# Ha lo scopo di verificare la presenza di ognuna delle 10 domande dell'autovalutazione al momento della
# modifica.
class Assessment < ActiveRecord::Base
  belongs_to :user
  
  validates_presence_of :q1, :q2, :q3, :q4, :q5,
                        :q6, :q7, :q8, :q9, :q10,
                        :on => :update,
                        :message => "non pu&ograve; essere lasciato vuoto"
  
  private
  
  # A partire dalla somma dei punti totalizzati nell'autovalutazione, ne restituisce il peso.
  def self.weight(score)
    score_min = 10.0
    score_max = 50.0
    range_min = 0.1
    range_max = 1.0
    
    logger.info "Score: " + score.to_s
    
    weight = 1 - (score - score_min) / ((score_max - score_min) / (range_max - range_min))
    
    logger.info "Peso autovalutazione: #{weight}"
    
    weight
  end
end
